package com.awaken.content.service;

// 导入用户DTO类
import com.awaken.content.models.dto.UserDTO;
// 导入用户请求类
import com.awaken.content.models.request.UserRequest;
// 导入列表类
import java.util.List;

/**
 * 用户服务接口 - 定义用户相关的业务操作
 * 这个接口定义了所有与用户相关的业务方法
 * 具体的实现逻辑在UserServiceImpl类中
 */
public interface UserService {
    
    /**
     * 用户注册
     * @param request 注册请求，包含用户名和密码
     * @return 注册成功返回用户信息，失败返回null
     */
    UserDTO register(UserRequest request);
    
    /**
     * 用户登录
     * @param request 登录请求，包含用户名和密码
     * @return 登录成功返回用户信息，失败返回null
     */
    UserDTO login(UserRequest request);
    
    /**
     * 根据ID获取用户信息
     * @param id 用户ID
     * @return 用户信息，如果用户不存在返回null
     */
    UserDTO getUserById(Long id);
    
    /**
     * 获取所有用户列表
     * @return 所有用户的列表
     */
    List<UserDTO> getAllUsers();
} 